The Power Management Bus (PMBus) is an open standard power-management protocol with a fully defined command language that facilitates, for example, communication with power converters and other devices in a power system. The bus protocol is implemented over the industry-standard System Management Bus (SMBus) serial interface and enables programming, control, and real-time monitoring of compliant power conversion products. This flexible and highly versatile standard allows for communication between devices based on both analog and digital technologies, and provides true interoperability which will reduce design complexity and shorten time to market for power system designers. Pioneered by leading power supply and semiconductor companies, this open power system standard is maintained and promoted by the PMBus Implementers Forum (PMBus-IF).
There are two parts to the PMBus specification. Part I includes the general requirements and defines the transport and electrical interface and timing requirements of hardwired signals. Part II defines the command language for PMBus.
The PMBus protocol covers a wide range of power system architectures and converters. However, not all PMBus devices must support all of the available features, functions and commands. In the context of PMBus communication, the term “devices” refers, e.g., to a specific power management product; that may be inter alia, a compliant integrated circuit, a power converter, a power supply, etc.
The open communications interface specification offers enhancements which simplify the management of system power supplies while extending the PMBus protocol to address the needs of AC/DC supplies as well as DC/DC converters.
To comply with the PMBus standard, a device does not need to support all of the specified PMBus standard commands. Moreover, several commands may be supported in different ways and the PMBus standard also allows for the definition of non-standard manufacturer specific commands. If a PMBus host transmits a command not supported by the receiving device, the device notifies the host accordingly. However, this requires some transmit and receive interactions which may be time-consuming. In many cases it is desirable to determine as soon as possible whether a certain command is supported by a PMBus device or not to allow for early decisions in the PMBus host. A try-and-error strategy to find out the commands supported by a device is often inappropriate, since the actual execution of the tried commands is often not desirable and “neutral” command parameters—that is, parameters which do not have an effect on the receiving device—can not always be found.
A command “QUERY” has been introduced into the standard which allows a PMBus host to “ask” a bus device whether it supports a certain PMBus standard or manufacturer specific command. In reply to a received QUERY command, the device “answers” either with “command supported” or “command not supported.” However, the standard QUERY command is not designed to include manufacturer alternative commands which may be used instead of the queried command. In order to facilitate bus communication, there is a need for an accordingly enhanced QUERY command.
However, this need is not limited to PMBus communication. Any generic communication protocol used with a generic communication link (two-wire serial bus, parallel bus, wireless connection, etc.) may benefit from such an enhancement.